#include "UdpServer.hpp"
#include"Dictionary.hpp"

//./server_udp localip localport变成这样就是网络通信
int main(int argc,char*argv[])
{
    if(argc!=2) 
    {
        std::cerr<<"Usage: "<<argv[0]<<"serverip serverport"<<std::endl;
        Die(USAGE_ERR);
    }
    // std::string ip=argv[1];
    uint16_t port=std::stoi(argv[1]);
    std::shared_ptr<Dict> dict_sptr=std::make_shared<Dict>();

    std::unique_ptr<UdpServer> svr_uptr = std::make_unique<UdpServer>([dict_sptr](const std::string&word){std::cout<<"|"<<word<<"|"<<std::endl;return dict_sptr->Translate(word);},port);
    // func_t f=std::bind(&Dict::Translate,dict_sptr.get(),std::placeholders::_1);
    // std::unique_ptr<UdpServer> svr_uptr = std::make_unique<UdpServer>(f,port);
    svr_uptr->InitServer();
    svr_uptr->Start();
    return 0;
}